[INFO] fetching crate nbtscanner 0.0.1...
[INFO] testing nbtscanner-0.0.1 against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] extracting crate nbtscanner 0.0.1 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate nbtscanner 0.0.1
[INFO] finished tweaking crates.io crate nbtscanner 0.0.1
[INFO] tweaked toml for crates.io crate nbtscanner 0.0.1 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate nbtscanner 0.0.1 on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate nbtscanner 0.0.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] dcf93668db57ffd3790e8e173382d70af9636e1e52ebe480719c71424233df9f
[INFO] running `Command { std: "docker" "start" "-a" "dcf93668db57ffd3790e8e173382d70af9636e1e52ebe480719c71424233df9f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dcf93668db57ffd3790e8e173382d70af9636e1e52ebe480719c71424233df9f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dcf93668db57ffd3790e8e173382d70af9636e1e52ebe480719c71424233df9f", kill_on_drop: false }`
[INFO] [stdout] dcf93668db57ffd3790e8e173382d70af9636e1e52ebe480719c71424233df9f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ce467b8fb55c8db578f44f7b018223b27c2d8e50b757b95500104f8ed98bd5a6
[INFO] running `Command { std: "docker" "start" "-a" "ce467b8fb55c8db578f44f7b018223b27c2d8e50b757b95500104f8ed98bd5a6", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-width v0.1.4
[INFO] [stderr]    Compiling libc v0.2.36
[INFO] [stderr]    Compiling ansi_term v0.10.2
[INFO] [stderr]    Compiling bitflags v1.0.1
[INFO] [stderr]    Compiling strsim v0.6.0
[INFO] [stderr]    Compiling vec_map v0.8.0
[INFO] [stderr]    Compiling assert_matches v1.1.0
[INFO] [stderr]    Compiling textwrap v0.9.0
[INFO] [stderr]    Compiling atty v0.2.6
[INFO] [stderr]    Compiling clap v2.29.1
[INFO] [stderr]    Compiling nbtscanner v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/thread_pool.rs:71:16
[INFO] [stdout]    |
[INFO] [stdout] 71 | type Job = Box<FnBox + Send + 'static>;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 71 | type Job = Box<dyn FnBox + Send + 'static>;
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]   --> src/nbt_packet.rs:46:43
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Ok(name) => String::from(name.trim_right()),
[INFO] [stdout]    |                                           ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 46 -             Ok(name) => String::from(name.trim_right()),
[INFO] [stdout] 46 +             Ok(name) => String::from(name.trim_end()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]   --> src/nbt_packet.rs:61:65
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 let trimmed_group = group.trim_matches('\u{0}').trim_right();
[INFO] [stdout]    |                                                                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 61 -                 let trimmed_group = group.trim_matches('\u{0}').trim_right();
[INFO] [stdout] 61 +                 let trimmed_group = group.trim_matches('\u{0}').trim_end();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/thread_pool.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | struct Worker {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 74 |     id: usize,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/thread_pool.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |             self.sender.send(Message::Terminate);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let _ = self.sender.send(Message::Terminate);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/ip_range.rs:60:14
[INFO] [stdout]    |
[INFO] [stdout] 60 |         self.description().fmt(f)
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `IpRangeError` is never constructed
[INFO] [stdout]   --> src/ip_range.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub enum IpParserError {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] 37 |     CidrNumberError,
[INFO] [stdout] 38 |     IpRangeError,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IpParserError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.10s
[INFO] running `Command { std: "docker" "inspect" "ce467b8fb55c8db578f44f7b018223b27c2d8e50b757b95500104f8ed98bd5a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ce467b8fb55c8db578f44f7b018223b27c2d8e50b757b95500104f8ed98bd5a6", kill_on_drop: false }`
[INFO] [stdout] ce467b8fb55c8db578f44f7b018223b27c2d8e50b757b95500104f8ed98bd5a6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e7675297dd8a73cf1ac4ca50cce61cdbf18cbe86cb7929105f40fa1b6761037b
[INFO] running `Command { std: "docker" "start" "-a" "e7675297dd8a73cf1ac4ca50cce61cdbf18cbe86cb7929105f40fa1b6761037b", kill_on_drop: false }`
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/thread_pool.rs:71:16
[INFO] [stdout]    |
[INFO] [stdout] 71 | type Job = Box<FnBox + Send + 'static>;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 71 | type Job = Box<dyn FnBox + Send + 'static>;
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]   --> src/nbt_packet.rs:46:43
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Ok(name) => String::from(name.trim_right()),
[INFO] [stdout]    |                                           ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 46 -             Ok(name) => String::from(name.trim_right()),
[INFO] [stdout] 46 +             Ok(name) => String::from(name.trim_end()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]   --> src/nbt_packet.rs:61:65
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 let trimmed_group = group.trim_matches('\u{0}').trim_right();
[INFO] [stdout]    |                                                                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 61 -                 let trimmed_group = group.trim_matches('\u{0}').trim_right();
[INFO] [stdout] 61 +                 let trimmed_group = group.trim_matches('\u{0}').trim_end();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling nbtscanner v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/thread_pool.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | struct Worker {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 74 |     id: usize,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/thread_pool.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |             self.sender.send(Message::Terminate);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let _ = self.sender.send(Message::Terminate);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/thread_pool.rs:71:16
[INFO] [stdout]    |
[INFO] [stdout] 71 | type Job = Box<FnBox + Send + 'static>;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 71 | type Job = Box<dyn FnBox + Send + 'static>;
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/ip_range.rs:60:14
[INFO] [stdout]    |
[INFO] [stdout] 60 |         self.description().fmt(f)
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]   --> src/nbt_packet.rs:46:43
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Ok(name) => String::from(name.trim_right()),
[INFO] [stdout]    |                                           ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 46 -             Ok(name) => String::from(name.trim_right()),
[INFO] [stdout] 46 +             Ok(name) => String::from(name.trim_end()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]   --> src/nbt_packet.rs:61:65
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 let trimmed_group = group.trim_matches('\u{0}').trim_right();
[INFO] [stdout]    |                                                                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 61 -                 let trimmed_group = group.trim_matches('\u{0}').trim_right();
[INFO] [stdout] 61 +                 let trimmed_group = group.trim_matches('\u{0}').trim_end();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `IpRangeError` is never constructed
[INFO] [stdout]   --> src/ip_range.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub enum IpParserError {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] 37 |     CidrNumberError,
[INFO] [stdout] 38 |     IpRangeError,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IpParserError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actual`
[INFO] [stdout]    --> src/nbt_packet.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |         let actual = NetBiosPacket::from(Ipv4Addr::from([127, 0, 0, 1]), data, 175 as usize);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_actual`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/nbt_packet.rs:256:13
[INFO] [stdout]     |
[INFO] [stdout] 256 |         let expected = "SHARING";
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actual`
[INFO] [stdout]    --> src/nbt_packet.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let actual = NetBiosPacket::from(Ipv4Addr::from([127, 0, 0, 1]), data, 175 as usize);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_actual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/thread_pool.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | struct Worker {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 74 |     id: usize,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/thread_pool.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |             self.sender.send(Message::Terminate);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let _ = self.sender.send(Message::Terminate);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.34s
[INFO] running `Command { std: "docker" "inspect" "e7675297dd8a73cf1ac4ca50cce61cdbf18cbe86cb7929105f40fa1b6761037b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e7675297dd8a73cf1ac4ca50cce61cdbf18cbe86cb7929105f40fa1b6761037b", kill_on_drop: false }`
[INFO] [stdout] e7675297dd8a73cf1ac4ca50cce61cdbf18cbe86cb7929105f40fa1b6761037b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 1fbb043204ca1a368ffee6d6bd0393527ce4b13f11942b6738625f94f8f9fce7
[INFO] running `Command { std: "docker" "start" "-a" "1fbb043204ca1a368ffee6d6bd0393527ce4b13f11942b6738625f94f8f9fce7", kill_on_drop: false }`
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/thread_pool.rs:71:16
[INFO] [stderr]    |
[INFO] [stderr] 71 | type Job = Box<FnBox + Send + 'static>;
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 71 | type Job = Box<dyn FnBox + Send + 'static>;
[INFO] [stderr]    |                +++
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stderr]   --> src/nbt_packet.rs:46:43
[INFO] [stderr]    |
[INFO] [stderr] 46 |             Ok(name) => String::from(name.trim_right()),
[INFO] [stderr]    |                                           ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] help: replace the use of the deprecated method
[INFO] [stderr]    |
[INFO] [stderr] 46 -             Ok(name) => String::from(name.trim_right()),
[INFO] [stderr] 46 +             Ok(name) => String::from(name.trim_end()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stderr]   --> src/nbt_packet.rs:61:65
[INFO] [stderr]    |
[INFO] [stderr] 61 |                 let trimmed_group = group.trim_matches('\u{0}').trim_right();
[INFO] [stderr]    |                                                                 ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: replace the use of the deprecated method
[INFO] [stderr]    |
[INFO] [stderr] 61 -                 let trimmed_group = group.trim_matches('\u{0}').trim_right();
[INFO] [stderr] 61 +                 let trimmed_group = group.trim_matches('\u{0}').trim_end();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `id` is never read
[INFO] [stderr]   --> src/thread_pool.rs:74:5
[INFO] [stderr]    |
[INFO] [stderr] 73 | struct Worker {
[INFO] [stderr]    |        ------ field in this struct
[INFO] [stderr] 74 |     id: usize,
[INFO] [stderr]    |     ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/thread_pool.rs:48:13
[INFO] [stderr]    |
[INFO] [stderr] 48 |             self.sender.send(Message::Terminate);
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 48 |             let _ = self.sender.send(Message::Terminate);
[INFO] [stderr]    |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `actual`
[INFO] [stderr]    --> src/nbt_packet.rs:124:13
[INFO] [stderr]     |
[INFO] [stderr] 124 |         let actual = NetBiosPacket::from(Ipv4Addr::from([127, 0, 0, 1]), data, 175 as usize);
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_actual`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `expected`
[INFO] [stderr]    --> src/nbt_packet.rs:256:13
[INFO] [stderr]     |
[INFO] [stderr] 256 |         let expected = "SHARING";
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `actual`
[INFO] [stderr]    --> src/nbt_packet.rs:257:13
[INFO] [stderr]     |
[INFO] [stderr] 257 |         let actual = NetBiosPacket::from(Ipv4Addr::from([127, 0, 0, 1]), data, 175 as usize);
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_actual`
[INFO] [stderr] 
[INFO] [stderr] warning: `nbtscanner` (lib) generated 5 warnings (run `cargo fix --lib -p nbtscanner` to apply 3 suggestions)
[INFO] [stderr] warning: `nbtscanner` (lib test) generated 8 warnings (5 duplicates) (run `cargo fix --lib -p nbtscanner --tests` to apply 3 suggestions)
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/ip_range.rs:60:14
[INFO] [stderr]    |
[INFO] [stderr] 60 |         self.description().fmt(f)
[INFO] [stderr]    |              ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `IpRangeError` is never constructed
[INFO] [stderr]   --> src/ip_range.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 36 | pub enum IpParserError {
[INFO] [stderr]    |          ------------- variant in this enum
[INFO] [stderr] 37 |     CidrNumberError,
[INFO] [stderr] 38 |     IpRangeError,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `IpParserError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `nbtscanner` (bin "nbtscanner" test) generated 2 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nbtscanner-0d6197b699df1a0a)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test nbt_packet::tests::create_nbt_packet_from_data_slice ... ok
[INFO] [stdout] test nbt_packet::tests::parse_group_from_data_correctly ... ok
[INFO] [stdout] test nbt_packet::tests::parse_mac_from_data_correctly ... ok
[INFO] [stdout] test nbt_packet::tests::parse_name_and_group_from_data_correctly_2 ... ok
[INFO] [stdout] test nbt_packet::tests::parse_services_from_data_correctly ... ok
[INFO] [stdout] test nbt_packet::tests::parse_name_from_data_correctly ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/nbtscanner-914f247a1738f3e1)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test ip_range::tests::parse_cidr_notation_into_range ... ok
[INFO] [stdout] test ip_range::tests::parse_dashed_string_into_range ... ok
[INFO] [stdout] test ip_range::tests::parse_invalid_base_ip_address_returns_error ... ok
[INFO] [stdout] test ip_range::tests::parse_invalid_cidr_range ... ok
[INFO] [stdout] test ip_range::tests::parse_string_to_ip_address ... ok
[INFO] [stdout] test ip_range::tests::skips_the_gateway_address ... ok
[INFO] [stdout] test ip_range::tests::skips_the_local_0_address ... ok
[INFO] [stdout] test ip_range::tests::cidr_notation_can_handle_large_host_range ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests nbtscanner
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "1fbb043204ca1a368ffee6d6bd0393527ce4b13f11942b6738625f94f8f9fce7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1fbb043204ca1a368ffee6d6bd0393527ce4b13f11942b6738625f94f8f9fce7", kill_on_drop: false }`
[INFO] [stdout] 1fbb043204ca1a368ffee6d6bd0393527ce4b13f11942b6738625f94f8f9fce7
